home *** CD-ROM | disk | FTP | other *** search
/ 8bitfiles.net/archives / archives.tar / archives / genie-commodore-file-library / C64Telecom / NOVA9.3-2.SDA / NOVA.ббс MODE (.txt) < prev    next >
Commodore BASIC  |  2019-04-13  |  16KB  |  422 lines

  1. 10 DATA300,1200,2400,4800,9600,19200,38400
  2. 20 POKE787,PEEK(186):IFPEEK(6)=255THENPOKE45,PEEK(174):POKE46,PEEK(175):CLR:GOTO70
  3. 30 IFPEEK(787)<8ORPEEK(787)>16THENPOKE787,8
  4. 40 IFPEEK(2)<1ORPEEK(2)>2THENPOKE2,1:LOAD"NOVA9.3-1.ML",PEEK(787),1
  5. 50 IFPEEK(2)=1THENPOKE2,2:LOAD"NOVA9.3-2.ML",PEEK(787),1
  6. 60 POKE2,0:POKE55,48:POKE56,132:POKE643,48:POKE644,132:SYS38436:CLR
  7. 70 OPEN5,2,0,CHR$(6):ML=38400
  8. 80 SL=52608:DT=USR(2):SA=USR(4):PT=49161:OP=ML+15:XM=1024:RV=XM+256
  9. 90 MD=52224:M1=MD+18:SN=PEEK(648)*256:Q$=CHR$(34):DIMMS$(20),BD$(6)
  10. 100 LC$="":OF$="":NC=0:SC=0:NU=0:ND=0:NF=0:MB=PEEK(M1):FORI=0TO6:READBD$(I):NEXT
  11. 110 SP$="                                       ":DN$=""
  12. 120 POKESA,PEEK(SA)OR128:POKESA+4,PEEK(SA+4)OR128:POKE6,176
  13. 130 DP=PEEK(787):IFDP<8ORDP>16THENDP=8
  14. 140 OPEN15,DP,15:DP$="0:":GOSUB4090:D%(1)=DP:D$(1)=DP$:DD=1:SYSSL+6:CA=PEEK(780)
  15. 150 F1$="LOGIN.TXT":F2$="MENU.TXT":F3$="LOGOUT.TXT":GOSUB720
  16. 160 OPEN2,DP,2,DP$+"\STATS":INPUT#15,E:IFE>19THENCLOSE2:GOTO180
  17. 170 INPUT#2,LC$,OF$,NC,SC,NU,ND,NF:CLOSE2
  18. 180 IF(PEEK(M1+4)AND1)ANDCA=0THENPOKE780,MB:SYSML+33:SYSMD+9:SYSMD+3
  19. 190 PRINT"[147]"TAB(10)"[206]OVATERM 9.3 [194][194][211] MODE":PRINT"[197]NTER THE TIME: [200][200]:[205][205]";
  20. 200 POKE211,16:P9=5:GOSUB2410:IFI$=""THEN
  21. 210 IFMID$(I$,3,1)<>":"THEN190
  22. 220 H=VAL(LEFT$(I$,2)):M=VAL(MID$(I$,4,1))*16+VAL(MID$(I$,5,1)):A=0:IFH>12THENH=H-12:A=1
  23. 230 IFH=0ORH=12THENH=12:A=1-A
  24. 240 H=128*A+H+INT(H/10)*6:POKE56587,H:POKE56586,M:POKE56585,S:POKE56584,0
  25. 250 P=1
  26. 260 PRINT"[147]"TAB(10)"[206]OVATERM 9.3 [194][194][211] MODE"
  27. 270 PRINTTAB(15)"[211]ETUP MENU":PRINTTAB(15)"[163][163][163][163][163][163][163][163][163][163]"
  28. 280 PRINT" [211]YSOP NAME[160] : "SY$:PRINT" [194][194][211] NAME[160]   : "BB$
  29. 290 PRINT" [211]YSTEM PSWD[160]: "PW$:PRINT" [211]YSOP PSWD[160] : "PS$
  30. 300 PRINT" [207]PENING MSG[160]: "F1$:PRINT" [205]AIN MENU[160]  : "F2$
  31. 310 PRINT" [204]OGOFF MSG[160] : "F3$
  32. 320 PRINT" [211]YSTEM DRIVE[160]    :"STR$(DP)","LEFT$(DP$,1):PRINT" [193]VAILABLE DRIVES[160]"
  33. 330 PRINT" [211]AVE CONFIGURATION[160]":PRINT" [204]OAD CONFIGURATION[160]":PRINT" [211]TART [194][194][211][160]"
  34. 340 D=4:TB=1:MX=15:GOSUB3920:POKE211,15:IFP>9THENPOKE211,20
  35. 345 P9=-23*(P<5)-16*(P>6ANDP<9)-5*(P=10):IFP9THENGOSUB2410
  36. 350 ONPGOTO360,380,400,410,,430,440,450,,470,760,,660,710,960
  37. 360 SY$=I$:GOTO460
  38. 380 BB$=I$:GOTO460
  39. 400 PW$=I$:GOTO460
  40. 410 PS$=I$:GOTO460
  41. 430 F1$=I$:GOTO460
  42. 440 F2$=I$:GOTO460
  43. 450 F3$=I$
  44. 460 PRINT""LEFT$(DN$,P+D)TAB(15)LEFT$(I$+SP$,P9):GOTO280
  45. 470 IFI$=""THEN280
  46. 480 J=0:FORI=1TO5:IFMID$(I$,I,1)=","THENJ=I:I=5
  47. 490 NEXT:IFJ=0THEN520
  48. 500 A=VAL(MID$(I$,J+1)):IFA<0ORA>19THEN520
  49. 510 DP$=MID$(STR$(A),2)+":"
  50. 520 A=VAL(I$):IFA<8ORA>16THEN280
  51. 530 CLOSE15:OPEN15,A,15:CLOSE15:IF(128ANDST)=0THENDP=A
  52. 540 OPEN15,DP,15:GOTO280
  53. 660 PRINT#15,"S"DP$"\BBS CONFIG":OPEN2,DP,2,DP$+"\BBS CONFIG,S,W"
  54. 670 PRINT#2,Q$SY$:PRINT#2,Q$BB$:PRINT#2,Q$PW$:PRINT#2,Q$PS$:PRINT#2,Q$F1$
  55. 680 PRINT#2,Q$F2$:PRINT#2,Q$F3$:PRINT#2,DP:PRINT#2,Q$DP$
  56. 690 PRINT#2,DD:FORI=1TODD:PRINT#2,Q$DD$(I):PRINT#2,D%(I):PRINT#2,Q$D$(I):NEXT
  57. 700 CLOSE2:GOTO280
  58. 710 GOSUB720:GOTO280
  59. 720 OPEN2,DP,2,DP$+"\BBS CONFIG":INPUT#15,E:IFE>19THENCLOSE2:RETURN
  60. 730 INPUT#2,SY$,BB$,PW$,PS$,F1$,F2$,F3$,DP,DP$,DD
  61. 740 FORI=1TODD:INPUT#2,DD$(I),D%(I),D$(I):NEXT:CLOSE2:RETURN
  62. 760 PRINT"[147]"TAB(10)"[206]OVATERM 9.3 [194][194][211] MODE":PP=P:P=1
  63. 770 PRINTTAB(9)"[196]ISK DEVICE SETUP MENU":PRINTTAB(9)"[163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163][163]"
  64. 780 PRINT" [196]IRECTORY CATEGORY      [196]EVICE  [196]RIVE":FORI=1TODD
  65. 790 PRINT" "LEFT$(DD$(I)+SP$,23)"  "D%(I)TAB(35)LEFT$(D$(I),LEN(D$(I))-1);
  66. 800 PRINTTAB(38)"[160]":NEXT:PRINTSP$:PRINT" [193]DD A DIRECTORY[160]   "
  67. 810 PRINT" [196]ELETE A DIRECTORY[160]":PRINT" [209]UIT[160]              ":PRINTSP$
  68. 820 D=5:TB=1:MX=DD+4:GOSUB3920:IFP=MXTHENP=PP:GOTO260
  69. 830 SYSML+18:IFP=MX-1ANDD>1THENDL=1:GOTO780
  70. 840 IFP=MX-2THENDL=0:P=P-1:PRINT"[145]";:IFDD=10THEN780
  71. 850 IFDL=0ORDD=1THEN890
  72. 860 FORI=P+1TODD:DD$(I-1)=DD$(I):D%(I-1)=D%(I):D$(I-1)=D$(I):NEXT
  73. 870 DL=0:DD=DD-1:IFP>DDTHENP=DD
  74. 880 GOTO780
  75. 890 POKE211,1:P9=23:GOSUB2410:IFI$>""THENDD$(P)=I$
  76. 900 IFI$=""ANDP=MX-1THEN780
  77. 910 PRINT"[145]";:POKE211,27:P9=2:GOSUB2410:A=VAL(I$):IFA>=8ANDA<=15THEND%(P)=A
  78. 920 PRINT"[145]";:POKE211,35:P9=2:GOSUB2410:A=VAL(I$)
  79. 930 IFA>=0ANDA<20THEND$(P)=MID$(STR$(A),2)+":"
  80. 940 IFP>DDTHENDD=P
  81. 950 GOTO780
  82. 960 RN=8-(PEEK(56577)AND8):IFPEEK(M1+4)AND1THEN980
  83. 970 PRINT"[147][211]ET [207]-[193] SWITCH TO [193]NSWER AND HIT [210]ETURN[146]":WAIT198,1:GETA$
  84. 980 PRINT"[147][204]AST CALLER: "LC$:PRINT"[207]FF AT     : "OF$
  85. 990 PRINT"[206]UMBER OF CALLS :"NC:PRINT"[211]YSOP CALLS     :"SC
  86. 1000 PRINT"[213]PLOADS         :"NU:PRINT"[196]OWNLOADS       :"ND
  87. 1010 PRINT"[198]EEDBACK        :"NF
  88. 1020 PRINT"[201]NITIALIZING MODEM...":BD=MB:POKE780,MB:SYSML+33:SYSMD+9
  89. 1030 PRINT"[145][215]AITING FOR CALL...  "
  90. 1040 PRINT"[198]1[146]:[209]UIT  [198]3[146]:[204]OCAL MODE  [198]7[146]:[211]ETUP MENU"
  91. 1050 POKESA+14,PEEK(SA+14)AND127:LC=0:XP=0:SY=0:CD=0
  92. 1060 DD$=DD$(1):DV=D%(1):DV$=D$(1):CLOSE14:OPEN14,DV,15
  93. 1070 SYSML+9:IF(PEEK(56577)AND8)=RNTHEN1130
  94. 1080 SYSSL+6:IFPEEK(780)THEN1160
  95. 1090 GETA$:IFA$="[133]"THEN2250
  96. 1100 IFA$="[136]"THEN250
  97. 1110 IFA$="[134]"THENPRINT"[147] [204]OCAL MODE ":POKESA+14,PEEK(SA+14)OR128:SYSMD+3:LC=1:GOTO1170
  98. 1120 GOTO1070
  99. 1130 PRINT"[195]ALL ANSWERED...WAITING FOR CARRIER":SYSMD+6
  100. 1140 SYSSL+6:IFPEEK(780)=0THEN980
  101. 1150 BD=PEEK(M1+1):POKE780,BD:SYSML+33
  102. 1160 PRINT"[147] "BD$(BD)" BAUD CONNECTION "
  103. 1170 PRINT" [146][157]";:S$="[133][215]ELCOME TO "+BB$+" ON [206]OVATERM 9.3[133]":SYSOP
  104. 1180 S$="[133][197]NTER YOUR NAME: ":SYSOP:P9=25:GOSUB2510:IFI$=""THEN1180
  105. 1190 N$=I$:TR=0:IFPW$=""THEN1230
  106. 1200 S$="[133][197]NTER SYSTEM PASSWORD: ":SYSOP:P9=25:GOSUB2510:IFI$=PW$THEN1230
  107. 1210 S$="[133][201]NVALID PASSWORD[133]":SYSOP:TR=TR+1:IFTR<3THEN1200
  108. 1220 S$="[133][193]CCESS DENIED![133]":SYSOP:GOTO1980
  109. 1230 GOSUB3880:T1$=TM$:TR=0:IFN$<>SY$THEN1300
  110. 1240 S$="[133][197]NTER SYSOP PASSWORD: ":SYSOP:P9=25:GOSUB2510:IFI$=PS$THEN1270
  111. 1250 S$="[133][201]NVALID PASSWORD[133]":SYSOP:TR=TR+1:IFTR<2THEN1240
  112. 1260 GOTO1220
  113. 1270 S$="[133][211]YSOP ACCESS GRANTED[133]":SYSOP:SY=1
  114. 1280 OPEN2,DP,2,DP$+"FEEDBACK":INPUT#15,E:CLOSE2
  115. 1290 IFE=0THENS$="[133][217]OU HAVE MESSAGES WAITING.[133]":SYSOP
  116. 1300 IFF1$>""THENF$=F1$:GOSUB2690
  117. 1310 PRINT" [146][157]";:IFXPTHEN1420
  118. 1320 IFF2$>""THENF$=F2$:GOSUB2690:IFE<20THEN1420
  119. 1330 S$="[133]"+LEFT$(SP$,(33-LEN(BB$))/2)+BB$+" MENU[133]":SYSOP
  120. 1340 S$="[133][$][196]IRECTORY          [[210]]EAD TEXTFILE[133]":SYSOP
  121. 1350 S$="[#][195]HANGE DRIVE       [[212]]ERMINATE[133]":SYSOP
  122. 1360 S$="[[195]]HAT REQUEST        [[213]]PLOAD FILE[133]":SYSOP
  123. 1370 S$="[[196]]OWNLOAD FILE       [[215]]RITE TEXTFILE[133]":SYSOP
  124. 1380 S$="[[198]]EEDBACK TO SYSOP   [[216]]PERT TOGGLE[133]":SYSOP
  125. 1390 S$="[[208]]ROTOCOL[133]":SYSOP:IFSY=0THEN1420
  126. 1400 S$="[133][@][196]ISK COMMAND       [[218]][210]EAD FEEDBACK[133]":SYSOP
  127. 1410 S$="[[204]]OG OF CALLERS[133]":SYSOP
  128. 1420 S$="[133][$,#,[195],[196],[198],[208],[210],[212],[213],[215],[216]]: ":SYSOP
  129. 1430 GOSUB2630:IFCDTHEN1990
  130. 1440 IFA$="?"ORA$="H"THENS$="[205]ENU[133]":SYSOP:GOTO1320
  131. 1450 IFA$="@"ANDSYTHENS$="[196]ISK COMMAND[133]":SYSOP:GOTO3830
  132. 1460 IFA$="$"THENS$="[196]IRECTORY[133]":SYSOP:GOTO1610
  133. 1470 IFA$="#"THENS$="[195]HANGE DRIVE[133]":SYSOP:GOTO2130
  134. 1480 IFA$="C"THENS$="[195]HAT[133]":SYSOP:GOTO1660
  135. 1490 IFA$="D"THENS$="[196]OWNLOAD[133]":SYSOP:GOTO2730
  136. 1500 IFA$="F"THENS$="[198]EEDBACK[133]":SYSOP:GOTO3360
  137. 1510 IFA$="L"ANDSYTHENS$="[204]OG OF CALLERS[133]":SYSOP:GOTO3800
  138. 1520 IFA$="P"THENS$="[208]ROTOCOL[133]":SYSOP:GOTO1740
  139. 1530 IFA$="R"THENS$="[210]EAD TEXTFILE[133]":SYSOP:GOTO1900
  140. 1540 IFA$="T"THENS$="[212]ERMINATE[133]":SYSOP:GOTO1950
  141. 1550 IFA$="U"THENS$="[213]PLOAD[133]":SYSOP:GOTO3090
  142. 1560 IFA$="W"THENS$="[215]RITE TEXTFILE[133]":SYSOP:GOTO2050
  143. 1570 IFA$="X"THENS$="[197]XPERT TOGGLE[133]":SYSOP:GOTO2110
  144. 1580 IFA$="Z"ANDSYTHENS$="[210]EAD FEEDBACK[133]":SYSOP:GOTO3770
  145. 1590 IFA$=CHR$(13)THEN1310
  146. 1600 GOTO1430
  147. 1610 IFDD$>""THENS$="[133][196]IRECTORY: "+DD$+"[133]":SYSOP
  148. 1620 S$="[133]":SYSOP:OPEN1,DV,0,"$"+LEFT$(DV$,LEN(DV$)-1):GET#1,A$,A$
  149. 1630 SYSML+54:IFMID$(Z$,7,1)="\"ANDSY=0THEN1630
  150. 1640 S$=Z$+"[133]":SYSOP:IFRIGHT$(Z$,1)<>"."ANDRIGHT$(Z$,4)<>"FREE"THEN1630
  151. 1650 CLOSE1:GOSUB2240:GOTO1310
  152. 1660 S$="[133][208]AGING SYSOP...":SYSOP:J=0:FORI=1TO5:S$=".":SYSOP
  153. 1670 FORT=1TO1500:NEXT:GETA$:IFA$="[133]"THENJ=1:I=5
  154. 1680 NEXT:IFJ=0THENS$="[133][133]"+SY$+" IS NOT AVAILABLE.[133]":GOTO1310
  155. 1690 S$="[133][133][197]NTERING CHAT[133][133]":SYSOP
  156. 1700 GETA$:GET#5,B$:IFA$>""THENS$=A$:SYSOP
  157. 1710 IFB$>""THENS$=CHR$(PEEK(RV+ASC(B$))):SYSOP
  158. 1720 IFA$<>"[133]"THEN1700
  159. 1730 S$="[133][204]EAVING CHAT[133]":SYSOP:GOTO1310
  160. 1740 OPEN1,DP,0,"$"+DV$+"PRT.*":GOSUB2340:IFERTHENCLOSE1:GOTO1310
  161. 1750 GET#1,A$,A$:SYSML+54:FL=0
  162. 1760 SYSML+54:IFRIGHT$(Z$,1)="."ORRIGHT$(Z$,4)="FREE"THEN1810
  163. 1770 F$="":FORI=11TO22:A$=MID$(Z$,I,1):IFA$=CHR$(34)THENI=22:GOTO1790
  164. 1780 F$=F$+A$
  165. 1790 NEXT:IFF$=""THEN1760
  166. 1800 FL=FL+1:F$(FL)=F$:GOTO1760
  167. 1810 CLOSE1:IFFL=0THENS$="[133][206]O PROTOCOL FILES[133]":GOTO1310
  168. 1820 S$="[133][211]ELECT PROTOCOL:[133][133]":SYSOP
  169. 1830 FORI=1TOFL:S$=CHR$(I+192)+") "+F$(I)+"[133]":SYSOP:NEXT:S$="[133][211]ELECT: ":SYSOP
  170. 1840 GOSUB2630:IFCDTHEN1990
  171. 1850 IFA$=CHR$(13)THENS$=A$:SYSOP:GOTO1310
  172. 1860 IFA$<"A"ORA$>CHR$(FL+64)THEN1840
  173. 1870 S$=CHR$(ASC(A$)+128)+"[133]":SYSOP:P=ASC(A$)-64:F$="PRT."+F$(P)
  174. 1880 OPEN2,DV,0,DV$+F$:GOSUB2340:CLOSE2:IFER=0THENGOSUB4340:PT$=F$(P):GOSUB3070
  175. 1890 GOTO1310
  176. 1900 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
  177. 1905 IFLEFT$(I$,1)="\"ANDSY=0THENI$=MID$(I$,2)
  178. 1910 S$="[133]":SYSOP:OPEN2,DV,2,DV$+I$+",S":GOSUB2340:IFERTHEN1940
  179. 1920 POKE781,2:SYSML+60:F=ST:SYSOP:IFF=0THEN1920
  180. 1930 GOSUB2240
  181. 1940 CLOSE2:GOTO1310
  182. 1950 GOSUB2360:IFY=0THEN1310
  183. 1960 IFF3$>""THENF$=F3$:GOSUB2690
  184. 1970 S$="[133][199]OODBYE![133]":SYSOP
  185. 1980 SYSMD:SYSSL+6:IFPEEK(780)THENFORT=1TO2500:NEXT:GOTO1980
  186. 1990 GOSUB3880:PRINT" ":PRINTN$" LOGGED OUT AT "TM$
  187. 2000 OPEN2,DP,2,DP$+"\CALLER LOG,S,A":INPUT#15,E
  188. 2010 IFE>19THENCLOSE2:OPEN2,DP,2,DP$+"\CALLER LOG,S,W"
  189. 2020 PRINT#2,LEFT$(N$+"...............................",23)T1$"-"TM$:CLOSE2
  190. 2030 LC$=N$:OF$=TM$:NC=NC+1:IFSYTHENSC=SC+1
  191. 2040 GOSUB4090:GOTO980
  192. 2050 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
  193. 2060 OPEN2,DV,2,DV$+I$+",S,W":GOSUB2340:IFERTHEN2100
  194. 2070 S$="[133][197]NTER TEXT ONE LINE AT A TIME.[133]":SYSOP
  195. 2080 S$="[197]NTER THE @ SYMBOL BY ITSELF TO END.[133][133]":SYSOP
  196. 2090 P9=78:GOSUB2510:IFI$<>"@"THENSYSML+24:PRINT#2,I$:SYSML+21:GOTO2090
  197. 2100 CLOSE2:GOTO1310
  198. 2110 XP=1-XP:IFXPTHENS$="[133][197]XPERT MODE [207][206][133]":SYSOP:GOTO1310
  199. 2120 S$="[133][197]XPERT MODE [207][198][198][133]":SYSOP:GOTO1310
  200. 2130 IFDD=1THENS$="[133][207]NLY ONE DRIVE AVAILABLE[133]":SYSOP:GOTO1310
  201. 2140 S$="[133][211]ELECT DRIVE:[133][133]":SYSOP:FORI=1TODD:S$=CHR$(I+192)+") ":SYSOP
  202. 2150 IFDD$(I)>""THENS$=DD$(I)+"[133]":GOTO2170
  203. 2160 S$="[196]EVICE"+STR$(D%(I))+", [196]RIVE "+LEFT$(D$(I),LEN(D$(I))-1)+"[133]"
  204. 2170 SYSOP:NEXT:S$="[133][211]ELECT: ":SYSOP
  205. 2180 GOSUB2630:IFCDTHEN1990
  206. 2190 IFA$=CHR$(13)THENS$=A$:SYSOP:GOTO1310
  207. 2200 IFA$<"A"ORA$>CHR$(DD+64)THEN1840
  208. 2210 D=ASC(A$)-64:S$=CHR$(D+192)+"[133]":SYSOP:DD$=DD$(D):DV=D%(D):DV$=D$(D)
  209. 2220 CLOSE14:OPEN14,DV,15:CLOSE14:IF128ANDSTTHEN2140
  210. 2230 OPEN14,DV,15:GOTO1310
  211. 2240 IFXPTHENRETURN
  212. 2245 S$="[133]* [200]IT A KEY *":SYSOP:GOSUB2630:S$="[133]":SYSOP:RETURN
  213. 2250 PRINT"[211]AVE STATS?  [146][157]";
  214. 2260 GETA$:IFA$<>"Y"ANDA$<>"N"THEN2260
  215. 2270 IFA$="N"THENPRINT"NO":GOTO2300
  216. 2280 PRINT"YES":PRINT#15,"S"DP$"\STATS":OPEN2,DP,2,DP$+"\STATS,S,W":PRINT#2,Q$LC$
  217. 2290 PRINT#2,Q$OF$:PRINT#2,NC:PRINT#2,SC:PRINT#2,NU:PRINT#2,ND:PRINT#2,NF:CLOSE2
  218. 2300 POKE6,255:OPEN2,DP,0,DP$+"PROG MENU":INPUT#15,E:CLOSE2:IFE>19THEN2320
  219. 2310 LOADDP$+"PROG MENU",DP
  220. 2320 OPEN2,DP,0,DP$+"NOVATERM ?.?*":INPUT#15,E:CLOSE2:IFE>19THENEND
  221. 2330 LOADDP$+"NOVATERM ?.?*",DP
  222. 2340 ER=0:INPUT#14,E,E$:IFE>19THENER=1:S$="[133]"+E$+"[133]":SYSOP
  223. 2350 RETURN
  224. 2360 S$="[133][193]RE YOU SURE? ":SYSOP
  225. 2370 GOSUB2630:IFCDTHENY=0:RETURN
  226. 2380 IFA$="Y"THENS$="YES[133]":SYSOP:Y=1:RETURN
  227. 2390 IFA$="N"THENS$="NO[133]":SYSOP:Y=0:RETURN
  228. 2400 GOTO2370
  229. 2410 I$="":OPEN9,3
  230. 2420 POKE212,0:GET#9,B$:PRINT"[157]"B$"[146][157]";
  231. 2430 GETA$:IFA$=""THEN2430
  232. 2440 IF(ASC(A$)AND127)<32THEN2470
  233. 2450 IFLEN(I$)=P9THEN2430
  234. 2460 I$=I$+A$:PRINTA$;:GOTO2420
  235. 2470 IFA$=CHR$(20)ANDI$>""THENI$=LEFT$(I$,LEN(I$)-1):PRINT" [157][157] [157]";:GOTO2420
  236. 2480 IFA$=CHR$(13)THENPRINTB$:CLOSE9:RETURN
  237. 2490 IFA$=""THENA$=B$:GOTO2450
  238. 2500 GOTO2430
  239. 2510 I$=""
  240. 2520 IFLC=0THENGET#5,B$:IFB$>""THEN2560
  241. 2530 IFLC=0THENSYSSL+6:IFPEEK(780)=0THENI$="":CD=1:RETURN
  242. 2540 GETA$:IFA$=""THEN2520
  243. 2550 GOTO2570
  244. 2560 A$=CHR$(PEEK(RV+ASC(B$)))
  245. 2570 IF(ASC(A$)AND127)<32THEN2600
  246. 2580 IFLEN(I$)=P9THEN2520
  247. 2590 I$=I$+A$:S$=A$:SYSOP:GOTO2520
  248. 2600 IFA$=CHR$(20)ANDI$>""THENI$=LEFT$(I$,LEN(I$)-1):S$=A$:SYSOP:GOTO2520
  249. 2610 IFA$=CHR$(13)THENS$=A$:SYSOP:RETURN
  250. 2620 GOTO2520
  251. 2630 IFLC=0THENGET#5,A$:IFA$>""THEN2660
  252. 2640 IFLC=0THENSYSSL+6:IFPEEK(780)=0THENCD=1:RETURN
  253. 2650 GETA$:IFA$=""THEN2630
  254. 2660 A=PEEK(RV+ASC(A$)):IFA>=97ANDA<=122THENA=A-32
  255. 2670 IFA>=193ANDA<=218THENA=A-128
  256. 2680 A$=CHR$(A):RETURN
  257. 2690 OPEN2,DP,2,DP$+F$:INPUT#15,E:IFE>19THENCLOSE2:RETURN
  258. 2700 S$="[133]":SYSOP
  259. 2710 POKE781,2:SYSML+60:F=ST:SYSOP:IFF=0THEN2710
  260. 2720 CLOSE2:RETURN
  261. 2730 IFLCTHENS$="[133][195]AN'T DOWNLOAD IN LOCAL MODE[133]":SYSOP:GOTO1310
  262. 2735 S$="[133][208]ROTOCOL: "+PT$+"[133]":SYSOP:TT=0:IF(PEEK(PT+14)AND8)THEN2890
  263. 2740 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
  264. 2750 IFLEFT$(I$,1)="\"ANDSY=0THENI$=MID$(I$,2)
  265. 2760 TS=0:OPEN1,DV,0,"$"+DV$+I$:GOSUB2340:IFERTHENCLOSE1:GOTO1310
  266. 2770 GET#1,A$,A$:SYSML+54:SYSML+54:CLOSE1
  267. 2780 IFRIGHT$(Z$,1)="."ORRIGHT$(Z$,4)="FREE"THENTS=1
  268. 2790 IFTSTHENS$="[133][198]ILE NOT FOUND[133]":SYSOP:GOTO1310
  269. 2810 TT$=MID$(Z$,25,3):TP$=LEFT$(TT$,1):TT=-(TP$="P")-2*(TP$="S")-3*(TP$="U")
  270. 2820 S$="[133][198]ILE NAME: "+I$+"[133][198]ILE TYPE: "+TT$+"[133][198]ILE BLOCKS:"+STR$(VAL(Z$))+"[133]"
  271. 2830 SYSOP:OPEN2,DV,2,DV$+I$:GOSUB2340:IFERTHENCLOSE2:GOTO1310
  272. 2840 GOSUB3355:S$="[133][194][194][211] READY TO SEND FILE[133][208]RESS [195]TRL-[216] TO ABORT[133]":SYSOP
  273. 2850 PRINT" ":PRINT"[194]LOCKS SENT :          [197]RRORS :";
  274. 2860 POKEPT+16,TT:SYSPT-9:PRINT:ND=ND+1
  275. 2870 IFPEEK(PT+15)THENS$="[133][196]OWNLOAD ABORTED[133]":SYSOP:ND=ND-1
  276. 2880 CLOSE2:GOTO1310
  277. 2890 S$="[133][197]NTER A BLANK FILE NAME TO END.[133][133]":SYSOP:FL=0               
  278. 2900 S$="[206]AME OF FILE"+STR$(FL+1)+": ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN2950
  279. 2910 IFLEFT$(I$,1)="\"ANDSY=0THENI$=MID$(I$,2)
  280. 2920 OPEN2,DV,2,DV$+I$:INPUT#14,E:CLOSE2:IFE>19THEN2900
  281. 2940 FL=FL+1:F$(FL)=I$:IFFL<9THEN2900
  282. 2950 F$(FL+1)="":IFFL=0THEN1310
  283. 2960 S$="[133][194][194][211] READY TO SEND FILES[133][208]RESS [195]TRL-[216] TO ABORT[133]":SYSOP
  284. 2970 SYSPT-9:FF=0:FORY=1TOFL+1:I$=F$(Y):IFI$=""THEN3030
  285. 2980 OPEN1,DV,0,"$"+DV$+I$:GOSUB2340:IFERTHENCLOSE1:GOTO1310
  286. 2990 GET#1,A$,A$:SYSML+54:SYSML+54:CLOSE1
  287. 3000 TP$=MID$(Z$,25,1):TT=-(TP$="P")-2*(TP$="S")-3*(TP$="U")
  288. 3010 OPEN2,DV,2,DV$+I$:GOSUB2340:IFERTHENCLOSE2:GOTO3050
  289. 3020 PRINT" ":PRINT"[211]ENDING "I$:PRINT"[194]LOCKS SENT :          [197]RRORS :";
  290. 3030 POKEPT+16,TT:SYSPT-9:CLOSE2:PRINT
  291. 3040 IFPEEK(PT+15)THENY=FL+1
  292. 3050 FF=FF+1:NEXT:IFPEEK(PT+15)THENS$="[133][196]OWNLOAD ABORTED[133]":SYSOP:FF=FF-1
  293. 3060 ND=ND+FF:GOTO1310
  294. 3070 POKEPT,1:POKEPT+18,DV:POKEPT+21,0:POKEPT+23,SP:POKEPT+24,VAL(DV$)
  295. 3080 POKEPT+14,PEEK(PT+14)OR16:RETURN
  296. 3090 IFLCTHENS$="[133][195]AN'T DOWNLOAD IN LOCAL MODE[133]":SYSOP:GOTO1310
  297. 3095 FL=0:S$="[133][208]ROTOCOL: "+PT$+"[133]":SYSOP:IF(PEEK(PT+14)AND10)=0THEN3130
  298. 3100 B$="":IFPEEK(PT+14)AND8THENB$="S"
  299. 3110 H$="":S$="[133][200]IDE THE FILE"+B$+"? ":SYSOP:GOSUB2370:IFYTHENH$="\"
  300. 3115 GOSUB3355:S$="[133][194][194][211] READY TO RECEIVE FILE"+B$+"[133][208]RESS [195]TRL-[216] TO ABORT[133]"
  301. 3120 SYSOP:PRINT" [145]";:GOTO3300
  302. 3130 S$="[133][198]ILE NAME: ":SYSOP:P9=16:GOSUB2510:IFI$=""THEN1310
  303. 3140 OPEN2,DV,2,DV$+I$:INPUT#14,E:CLOSE2:IFE<20THENS$="[133][198]ILE EXISTS[133]":SYSOP:GOTO1270
  304. 3150 TP$="P":TT$="":IFPEEK(PT+14)AND1THEN3220
  305. 3160 S$="[133][198]ILE TYPE (PRG,SEQ,USR): ":SYSOP
  306. 3170 GOSUB2630:IFCDTHEN1990
  307. 3180 IFA$=CHR$(13)THENS$=A$:SYSOP:GOTO1310
  308. 3190 IFA$<>"P"ANDA$<>"S"ANDA$<>"U"THEN3170
  309. 3200 TT=-(A$="P")-2*(A$="S")-3*(A$="U"):S$=MID$("PRGSEQUSR",TT*3-2,3)+"[133]":SYSOP
  310. 3210 TP$=A$
  311. 3220 H$="":S$="[133][200]IDE THE FILE? ":SYSOP:GOSUB2370:IFYTHENH$="\"
  312. 3225 GOSUB3355:IFPEEK(PT+14)AND1THEN3285
  313. 3230 TT$=","+TP$:OPEN2,DV,2,DV$+H$+I$+TT$+",W":GOSUB2340:FL=FL+1
  314. 3240 IFERAND(PEEK(PT+14)AND8)=0THEN1270
  315. 3250 IFERANDE=63THENI$=LEFT$(I$,LEN(I$)-1)+CHR$(ASC(RIGHT$(I$,1))+1):GOTO3230
  316. 3260 IFERTHENSYSPT-3:GOTO3310
  317. 3270 A=PEEK(PT+14)AND11:IFAANDA<8THENI$=""
  318. 3280 IFI$=""THENPRINT"[145]";:GOTO3300
  319. 3285 IFFL=0ORA=0THENS$="[133][194][194][211] READY TO RECEIVE FILE[133][208]RESS [195]TRL-[216] TO ABORT[133]":SYSOP
  320. 3290 PRINT" ":PRINT"[210]ECEIVING: "I$TT$:PRINT"[194]LOCKS RECV :          [197]RRORS :";
  321. 3300 POKEPT+16,TT:SYSPT-6:CLOSE2:PRINT:NU=NU+1
  322. 3310 IFPEEK(PT+15)THENS$="[133][213]PLOAD ABORTED![133]":SYSOP:PRINT#14,"S"DV$I$:NU=NU-1:GOTO1310
  323. 3320 IF(PEEK(PT+14)AND11)=0ORI$=""THEN1310
  324. 3330 TT=PEEK(PT+16):TP$=MID$("PSU",TT,1):IFTT=0THENTT=1:TP$="P"
  325. 3340 IFLEN(I$)>1THENIFMID$(I$,LEN(I$)-1,1)=","THENTP$=RIGHT$(I$,1):I$=LEFT$(I$,LEN(I$)-2)
  326. 3350 I$=LEFT$(I$,16):GOTO3230
  327. 3355 S$="[133][193][211][195][201][201][160]TRANSLATION DURING TRANSFER? ":SYSOP:GOSUB2370:POKEPT+22,Y:RETURN
  328. 3360 LI=0:GOSUB3880                                      
  329. 3370 S$="[133][198]ROM: "+N$+"[133][212]IME: "+TM$+"[133][133][197]NTER YOUR MESSAGE:[133][133]":SYSOP
  330. 3380 IFLI=20THENS$="[133][206]O MORE ROOM[133]":GOTO3440
  331. 3390 FORI=LI+1TO20:S$=RIGHT$(STR$(I),2)+": ":SYSOP:P9=74:GOSUB2510:IFI$=""THENLI=I-1:I=20
  332. 3400 IFI$>""THENMS$(I)=I$
  333. 3410 NEXT:IFLI=0ANDMS$(20)>""THENLI=20:S$="[133][206]O MORE ROOM[133]":SYSOP
  334. 3420 S$="[133][[193]]BORT          [[195]]ONTINUE MESSAGE[133][[196]]ELETE LINE    [[197]]DIT LINE[133]"
  335. 3430 SYSOP:S$="[[201]]NSERT LINE    [[204]]IST MESSAGE[133][[211]]AVE MESSAGE[133]":SYSOP
  336. 3440 S$="[133][[193],[195],[196],[197],[201],[204],[211]]: ":SYSOP
  337. 3450 GOSUB2630:IFCDTHEN1990
  338. 3460 S$=A$+"[133]":IFA$="?"THENSYSOP:GOTO3420
  339. 3470 IFA$="A"THENSYSOP:GOTO3750
  340. 3480 IFA$="C"THENS$=S$+"[133]":SYSOP:GOTO3380
  341. 3490 IFA$="D"THENSYSOP:GOTO3580
  342. 3500 IFA$="E"THENSYSOP:GOTO3610
  343. 3510 IFA$="I"THENSYSOP:GOTO3650
  344. 3520 IFA$="L"THENSYSOP:GOTO3680
  345. 3530 IFA$="S"THENSYSOP:GOTO3700
  346. 3540 GOTO3450
  347. 3550 L=0:S$="[133][204]INE NUMBER: ":SYSOP:P9=2:GOSUB2510:IFI$=""THENRETURN
  348. 3560 L=VAL(I$):IFL<1ORL>LITHENL=0
  349. 3570 RETURN
  350. 3580 IFLI=0THEN3440
  351. 3590 GOSUB3550:IFL=0THEN3440
  352. 3600 FORI=L+1TOLI:MS$(I-1)=MS$(I):NEXT:LI=LI-1:GOTO3440
  353. 3610 GOSUB3550:IFL=0THEN3440
  354. 3620 S$="[133]"+RIGHT$(STR$(L),2)+": "+MS$(L)+"[133]"+RIGHT$(STR$(L),2)+": ":SYSOP
  355. 3630 P9=74:GOSUB2510:IFI$=""THEN3440
  356. 3640 MS$(L)=I$:GOTO3440
  357. 3650 IFLI=20THEN3440
  358. 3660 GOSUB3550:IFL=0THEN3440
  359. 3670 FORI=LITOLSTEP-1:MS$(I+1)=MS$(I):NEXT:LI=LI+1:MS$(L)="":GOTO3440
  360. 3680 S$="[133]":SYSOP:FORI=1TOLI:S$=RIGHT$(STR$(I),2)+": "+MS$(I)+"[133]":SYSOP:NEXT
  361. 3690 GOTO3440
  362. 3700 GOSUB2360:IFY=0THEN3440
  363. 3710 S$="[133][211]AVING...[133]":SYSOP:OPEN2,DP,2,DP$+"FEEDBACK,S,A":INPUT#15,E
  364. 3720 IFE>19THENCLOSE2:OPEN2,DP,2,DP$+"FEEDBACK,S,W"
  365. 3730 PRINT#2:PRINT#2,"[198]ROM: "N$:PRINT#2,"[212]IME: "TM$:PRINT#2
  366. 3740 FORI=1TOLI:PRINT#2,MS$(I):NEXT:CLOSE2:NF=NF+1:GOTO1310
  367. 3750 GOSUB2360:IFY=0THEN3440
  368. 3760 S$="[133][193]BORTED[133]":SYSOP:GOTO1310
  369. 3770 F$="FEEDBACK":GOSUB2690:IFE>19THENS$="[133][206]O FEEDBACK[133]":SYSOP:GOTO1310
  370. 3780 S$="[133][196]ELETE MESSAGES? ":SYSOP:GOSUB2370:IFYTHENPRINT#15,"S"DP$"FEEDBACK":NF=0
  371. 3790 GOTO1310
  372. 3800 F$="CALLER LOG":GOSUB2690:IFE>19THENS$="[133][206]O CALLER LOG[133]":SYSOP:GOTO1310
  373. 3810 S$="[133][196]ELETE CALLER LOG? ":SYSOP:GOSUB2370:IFYTHENPRINT#15,"S"DP$"CALLER LOG"
  374. 3820 GOTO1310
  375. 3830 S$="[133][196]EVICE"+STR$(DV)+", DRIVE "+LEFT$(DV$,LEN(DV$)-1)+"[133]":SYSOP
  376. 3840 S$="[133][196][207][211]>":SYSOP
  377. 3850 P9=50:GOSUB2510:IFI$=""THEN1310
  378. 3860 PRINT#15,I$:INPUT#15,E1$,E2$,E3$,E4$:S$="[133]"+E1$+","+E2$+","+E3$+","+E4$+"[133]":SYSOP
  379. 3870 GOTO3840
  380. 3880 H=PEEK(56587):M=PEEK(56586):A=PEEK(56584)
  381. 3890 A$="AM":IFH>127THENA$="PM":H=HAND127
  382. 3900 H=H-INT(H/16)*6:M=M-INT(M/16)*6:M$=MID$(STR$(M),2):IFM<10THENM$="0"+M$
  383. 3910 TM$=MID$(STR$(H),2)+":"+M$+A$:RETURN
  384. 3920 GOSUB4080:IFPEEK(SN+40*(P+D)+TB)=32ANDPEEK(SN+40*(P+D)+38)<>96THEN3980
  385. 3930 SYSML+18
  386. 3940 GETA$:IFA$=""THEN3940
  387. 3950 A=ASC(A$)AND127:IFA=13THEN4070
  388. 3960 IFA=19ORA=17THENSYSML+18
  389. 3970 IFA$="[133]"THENQQ=MX:GOTO4050
  390. 3980 IFA$=""THENP=P+1:PRINTA$;:IFP>MXTHENP=1
  391. 3990 IFA$="[145]"THENP=P-1:PRINTA$;:IFP<1THENP=MX
  392. 4000 IFA$=""THENP=1
  393. 4010 IFA=17ORA=19THEN3920
  394. 4020 IF(A<49ORA>57)AND(A<65ORA>MX+55)THEN3940
  395. 4030 QQ=A-48+(A>64)*7:IFQQ>MXTHEN3940
  396. 4040 IFPEEK(SN+40*(QQ+D)+TB)=32ANDPEEK(SN+40*(P+D)+38)<>96THENQQ=QQ+1
  397. 4050 IFQQ=PTHEN4070
  398. 4060 SYSML+18:P=QQ:GOSUB4080:SYSML+18
  399. 4070 RETURN
  400. 4080 PRINT""LEFT$(DN$,P+D)TAB(TB-1);:RETURN
  401. 4090 OPEN2,DP,2,DP$+"NOVA DATA 9.3":INPUT#15,E:IFE>19THENCLOSE2:RETURN
  402. 4100 INPUT#2,V$:IFV$<>"9.3"THENCLOSE2:RETURN
  403. 4110 FORI=2TO16:INPUT#2,A$:NEXT
  404. 4120 INPUT#2,BD,DI,D1,D2,D1$,D2$,D3,D3$,PN,PS,C1,C2,C3,B,RE,C8,C9,XO,XF,SP,SW,C,D,E,F
  405. 4130 FORI=0TO17:INPUT#2,A:POKESA+40+PEEK(678)*18+I,A:NEXT
  406. 4140 INPUT#2,MI$,MO$,PT$,FO$:CLOSE2
  407. 4150 POKEDT+25,B:POKEDT+32,C:POKEDT+8,D
  408. 4180 IFMO$>""THENF$="MODEM."+MO$:GOSUB4340:GOSUB4320:IFE>19THENMO$=A1$
  409. 4190 IFPT$>""THENF$="PRT."+PT$:GOSUB4340:GOSUB3070:IFE>19THENPT$=A2$
  410. 4200 IFFO$>""THENF$="FONT."+FO$:GOSUB4340:IFE>19THENFO$=""
  411. 4230 F$="ASC.STANDARD":GOSUB4340
  412. 4240 POKE53280,C1:POKE53281,C2:POKE646,C3:SYSML+57
  413. 4260 IFSW=0THENPOKEDT+10,0:GOTO4300
  414. 4270 POKEDT+10,1
  415. 4280 POKE781,-222*(SW=1)-223*(SW=2)-215*(SW=3):SYSML+63:A=PEEK(781)*256
  416. 4290 POKEA+1,0:POKEA+2,9
  417. 4300 IFMB>2THENMB=BD
  418. 4310 POKE780,BD:SYSML+33:RETURN
  419. 4320 IF(PEEK(M1+4)AND2)=0THENDI=0
  420. 4330 POKEM1+4,(PEEK(M1+4)AND3)ORDI*4:MB=PEEK(M1):RETURN
  421. 4340 SYSML+24:POKE780,DP:F$=DP$+F$:SYSSL+21:INPUT#15,E:CLOSE2:SYSML+21:RETURN
  422.